#include <iostream>

#include "blas.hpp"

int main()
{
    std::vector<u_int32_t> shape; //= new std::vector<CocoCategory>()
    shape.push_back(3);
    // shape.push_back(3);

    Tensor tensor = Tensor(shape);
    std::cout << tensor << std::endl;

    std::vector<float> data = {1,2,3,4,5,-1.1};
    tensor.setData(data);
    shape = {2,3};
    // shape = {2};
    tensor.view(shape);
    std::cout << "tensor: " << tensor << std::endl;

    std::vector<u_int32_t> shape2 = {3,2};
    Tensor tensor2 = Tensor(shape2);
    std::vector<float> data2 = {1,2,3,4,5,6};
    tensor2.setData(data2);
    std::cout << "tensor2: "  << tensor2 << std::endl;

    Tensor tensor3 = tensor.dot(tensor2);
    std::cout << "tensor3: "  << tensor3 << std::endl;


    // std::cout << tensor.getSize() << std::endl;
    // // std::cout << tensor << std::endl;
    // for (int i = 0; i < tensor.getSize(); i++)
    // {
    //     std::cout << tensor.getData().at(i) << " ";
    // }
    // std::cout << std::endl;

}
